Knowledge, Capitalism and the Technologist Condition
This is a dead manuscript (Chapter 0 of the Phantom) of my book "Technology Supporting Coding". It was in the front of the first chapter of the book, and was the first thing the author wrote when writing the book. However, I unearthed the lost manuscript because I was told that it was too abstract and that a technical programming book should not start with a discussion of philosophy and economics. 2012-07-01 Written by
2017-05-31 Published on Scrapbox
It is also strongly related to [Why invest in intellectual production techniques?
-----
1 Foreword: What you will learn in this book.
The purpose of this book is to "solve the mumbo-jumbo about programming.
When you are learning programming, you have probably wondered "What is object-oriented programming? I don't know, I don't know..." and so on. In this book, I would like to help you resolve such confusion and clear your mind.
Moya-moya is a state of not being clear, not understanding, or not understanding well.
truth wrote in "What is "understandable"? " in which he writes, "To understand a text is for the reader to reconstruct in his or her own mind what is written. Moya-moya is a state in which knowledge entered into the brain through writing or other means seems to float around in the air, unconnected to other knowledge you had.
Even in this state, you may be able to spit out the incoming knowledge as it comes in, like a parrot. However, it is unable to connect and apply the knowledge to other knowledge.
https://gyazo.com/94c8a2f6e3de3b4f55d197b7abbe349f
Figure 1.
Left Newly entered knowledge is not combined with existing knowledge and is foggy and fluffy. Right The moment that knowledge is combined with existing knowledge
In other words, the purpose of this book can be said to be "to combine the reader's as-yet-uncombined knowledge with his or her existing knowledge. I hope to encourage coupling by offering a different perspective from that of a typical textbook. But what do we need to understand it for in the first place?
In programming textbooks, various concepts are mentioned, for example, object orientation.
Do I need to understand the concept in order to write a program?
What is your understanding of the concept, "What does it do for me?" What would you say if someone asked you, "What does that do for me?
In this book, you will find stories about computers from long ago and programming languages from decades ago. However, we are not presenting this information simply because we want you to remember them. The sole purpose of this book is to promote understanding among readers. Please don't be anxious, "Do I have to remember this?"
As Drucker wrote in his book "postcapitalist society," "Knowledge must be Proof by Action that it is knowledge. What we call knowledge today is information for action, information focused on results." He said. For example, if it is a programming concept, will understanding it increase the quality of the programs you write or not? Will it increase your productivity in writing programs? This is important. In other words, the purpose of the book is, in other words, "to help people understand important concepts and increase their productivity.
In general, the more abstract knowledge becomes, the more applicable it becomes, so in this chapter, let's start by reconsidering what productivity is. ... Methodology of Knowledge Creation p. 45
... Post-Capitalist Society p. 62
[What is productivity?
================
Productivity and Knowledge
------------------
What is productivity? To make the story easier to understand, let us first consider the ancient task of "carrying stones". In this case, productivity can be measured by "how many stones can be carried in a day. There is no "one who can carry 10 times as many stones as another person. It was a time of equality, with no great difference in productivity.
As time has progressed, mankind has invented many things. Take, for example, the truck. With a truck, you can carry 10 times more stones per unit of time than others. *
If you get paid according to the amount of stones you haul, then the person with the truck gets 10 times more money than the rest of us.
At this time, equipment was very expensive and only rich capitalists could afford it. So capitalists began to earn money without working by lending the equipment to workers to do the work and receiving a portion of the profits earned. Seeing this situation, Marx predicted that "if this situation continues, the gap will widen and the class struggle will intensify, leading to a communist revolution. ** But in fact, in the vast majority of countries, no revolution occurred. Why is this? Let's try this thought experiment. Suppose we have an experienced programmer A.
Bring in person B, who has the same size and brains as him, but only has no programming knowledge at all,
You will be asked to do programming work. How much will the outcome change?
If Mr. B spent 10 hours on the job, he would not be able to do even one hour's worth of work for Mr. A. Their productivity is off by an order of magnitude. This difference in productivity is what "Increased Productivity through Knowledge" means. Marx's idea included the assumption that if you give workers equipment, that alone will increase their productivity.
However, as science progressed, equipment became more complex. Knowledge is now required to properly operate the equipment and achieve results.
Even when given the same equipment, the productivity of those who were knowledgeable and those who were not became orders of magnitude more productive.
... * There were inventions of steam engines and horse-drawn railroads before trucks, but I omitted them because it is difficult to imagine private ownership of a railroad.
... ** "Capitalism" (1867)
Knowledge is the main driver of economic activity.
------------------------------
When you change jobs, you cannot take with you equipment owned by the company, but you can take with you the knowledge in your head.
Drucker, in "The Condition of the Technologist," wrote, "[Intellectual workers own the means of production. Knowledge tucked away in the head is portable." * He said, "Intellectual workers own the means of production. That is what we are living in today. It is the workers themselves who have the means of production. Which do you think is easier for readers, "to become happy by overthrowing the capitalists through revolution" or "to become happy by acquiring knowledge through study"? Of course, the latter. That is why we are trying to acquire knowledge by reading books like this one.
There are six major conditions for increasing the productivity of intellectual workers
3) Continuous change
What this chapter says about the purpose of reading this book is to clarify the purpose. The purpose is to increase productivity, the idea being that learning is something we do to "increase our own productivity". And "continuously learning and teaching others" is the purpose for which the author is writing this book.
Perhaps some of you may think that education is something that students and new employees do.
However, Drucker also states that "knowledge, because of its constant change, demands continuous learning from the knowledge worker. "*** Drucker also states that "knowledge is a continuous learning process. He went on to state that knowledge will become increasingly important in the future, which will lead to a society in which those with advanced knowledge will both educate others and be educated by others.
The study group is now attracting a lot of attention.
Simply put, study groups are meetings where working people gather spontaneously on weekday evenings, Saturdays, and Sundays to exchange information about their areas of interest.
It is truly a place where "highly knowledgeable people educate others and are educated by others.
The "IT Study Session Calendar," a site that collects information on study sessions, ****, shows that there is a study session somewhere every day,
You will find that there are 30-40 workshops taking place on Saturdays and other days. *****
Perhaps more and more people are realizing that they need to learn continuously in order to improve their own productivity.
... * "Conditions for Technologists," p. 85
... ** Some expressions were changed to be easier to understand based on Ikujiro Nonaka, "Methodology of Knowledge Creation," p. 16, in "Conditions for Technologists," p. 80. Bold type is by the author.
... *** "Conditions for Technologists," p. 118.
... **** IT Study Session Calendar
... ***** Values as of December 2011 when this book was written
Learning to improve learning efficiency
==========================
Now, up to this point, we have learned about the purpose and necessity of acquiring knowledge. In other words, the "why. Why do we learn?
From here, let's learn the "how," i.e., how to learn.
Programmer growth is exponential
------------------------
The growth of a programmer is exponential in some ways. The better you are at programming, the more you learn per unit of time."
These are the words of Shiro Kawai, the developer of Gauche, one of the Scheme processing systems. It is one of the author's favorite words. *
However, despite the seemingly positive nature of these words, the author finds them very frightening.
That's because "more can be learned per credit hour" depends on how you learn.
For example, if you learn by rote, you don't learn more in a credit hour.
Figure 1 shows a graph of the amount of knowledge for A, who is growing exponentially, and B, who is growing linearly.
Because of the exponential growth of Mr. A's knowledge, the ratio of the amount of knowledge to that of Mr. B is getting larger and larger.
There is a big difference between those who were able to grow exponentially and those who were not, even though they put in the same amount of time and effort to learn.
-----
https://gyazo.com/86064e278c3f944c800ea219cc01d077
Figure: Exponential vs. linear growth
-----
To grow exponentially, we must increase the amount we can learn in a unit of time.
How can we learn more in credit hours?
In other words, how can we increase productivity in the task of learning?
In the previous chapters, you have learned how to increase task productivity.
We will now consider the productivity of the more specific task of learning.
Time is limited, what will you learn?
----------------------
There is only so much time in life available for learning. It is impossible to learn everything worth learning.
In other words, decisions must be made about what to learn and what not to learn in order to achieve the objectives.
This is inevitable. It is impossible to learn everything.
The feeling of "I don't know what to choose."
I understand the feeling of wanting someone to tell you the right answer.
There are many people who can tell you what to learn.
For example, a university department of information science would have a curriculum of knowledge to be learned for the purpose of "becoming a researcher in information science.
If there is in-house training, the content to be learned will have been selected for the purpose of "achieving results as an employee of our company".
Some people on the Internet will say, for example, that you should learn language X in order to "increase the number of users of your language X".
The actions of others are based on the objectives of others. The objectives of others do not necessarily coincide with your own. If they match, you can adopt them.
If it doesn't match, you should discard it. After all, to live your life, you need to make choices that suit your purpose.
Which language to learn
~~~~~~~~~~~~~~~~
I want to learn programming, which language should I learn?" This is a question we see often.
Various people will give you advice such as, "You are safe if you learn language X," or "It is advantageous to learn language Y because this field will grow in the future.
But no one knows the future. When people predict the future, there tends to be a mixture of wishes. And no one knows if their predictions are correct until the future arrives.
Here is an introduction to a language X. Some key words have been withheld and words have been supplemented so that the meaning can be taken from the quoted part alone.
(Other languages) require quite specialized knowledge, which limits their use. In contrast, the language X has been attracting attention as an easy-to-use tool for practitioners and managers to get the information they need when they need it and in a short time. In the past few years, the number of companies, especially in the end-user sector, that use language X has been increasing rapidly, especially in the U.S. In the company Y (the company that played a leading role), the number of users of language X has been increasing at a rate of more than 50% per year for the past several years, and in the company Y, more than 25,000 employees, or 16% of all employees in the U.S., are using language X in their daily work. (Company that played a role in the development of Language X). (omission) Language X is increasingly seen as an effective means of increasing corporate productivity.
What is this language X? It looks like a promising language. If you were told today that you should learn language X, would you learn it?
This text is actually quite old, written in 1978 in the journal of the Information Processing Society of Japan. 1978 was the year that "The C Programming Language," which later came to be called the bible of the C language, was published. As you all know, the C programming language has been widely used since then. This language X is APL, which was released by IBM (Company Y) in 1964. Nowadays, the demand for this language has decreased dramatically and it has become very minor.
If you were alive in this day and age and someone told you that you should learn APL, would you have learned it?
... I looked to see how minor APL is by searching the job site Dice.com.
As of 2011, only two jobs with references to APL have been found.
You can see how few there are compared to the 17360 cases in Java and 3006 cases in Python.
History repeats itself
~~~~~~~~~~~~~~
"[Wise men learn from history, fools from experience." These are the words of Bismarck. Now and in the past, people have always been the driving force of society. People in similar situations behave similarly. As a result, history repeats similar patterns. Let us learn from history. We cannot know the future, but we can know the past.
Since many of you may feel that the APL story is old-fashioned, let me give you another, relatively new example: that of Adobe Flash and smartphones.
Flash, developed by Macromedia and acquired by Adobe, is a technology for creating multimedia content on the Web.
There was a time when it was very exciting. Flash was used in advertisements, corporate home pages, and even on YouTube.
In 2007, Apple launched the smartphone (iPhone), which became a huge hit and expanded the smartphone platform.
And Apple has announced that the iPhone will not include Flash.
Instead, the plan is to push open standards HTML5, JavaScript, and CSS; YouTube already supports HTML5.
... YouTube: video sharing site founded in 2005
Will Flash continue to decline and those who have studied ActionScript, the programming language for Flash, will be saddened?
Or will smartphones be equipped with Flash?
The author does not yet know what the conclusion will be. This change is ongoing. *
... * As of May 2012, Flash is not included in the Android smartphone, which competes with the iPhone, and Flash is not included in the new Metro UI of Microsoft Windows....
However, this phenomenon of new platforms displacing old ones has been repeated many times.
There are advantages to using a platform. In order to enjoy those benefits, a large number of people will use that platform. However, as a platform's market share grows, forces that do not want to be monopolized by that platform or forces that want to "do something that cannot be done on that platform" come into play. People then flee the old platform and a new platform is created.
Thus, languages and platforms are changing. The language you are using may also decline. And you cannot know that now. When a language declines, knowledge specific to that language loses its value. The answer to the question, "Which language should I learn? Therefore, it is necessary not to collect only language-specific knowledge, but to compare it with other languages and sublimate it to a more meta knowledge.
I hope this book will also help people understand the process of "comparing languages and sublimating them into a more meta-knowledge, rather than a knowledge specific to a particular language. *
... * If the word "meta" as used in this book is confusing, it can be read as abstract, general, generic, etc. The word originally meant "above."
What is the most efficient way to learn?
------------------------
How can we learn more efficiently?
For example, if you improve your English or learn to read faster, you will be able to input information faster. However, putting information into the brain and being able to understand and use it are two different things. Do not lose sight of the objective. The goal is not to learn a lot. The goal is to increase your productivity.
Specific how-to's can increase productivity immediately. However, they are no longer useful when the target audience changes. The world will continue to change, and if we learn only concrete how-to's, we will lose them. We need to acquire abstract meta-knowledge that has a wide range of applications. We need a deeper understanding.
On the other hand, learning only abstract meta-knowledge top-down does not sit well with me.
If you cut off a flowering branch and bring it to me because you want cherry blossoms, you will never see it again.
In order to keep blooming year after year, it must have a trunk and roots.
----------------------------------------
https://gyazo.com/666d1c9ab74c2771fa8c81fef3eb82de
If you take in only abstract knowledge, it will not fit comfortably within you.
----------------------------------------
You have to combine it with other knowledge within yourself,
We can only spit out the incoming knowledge as it comes in, like a parrot.
That is no way to utilize knowledge in a situation.
It is necessary not only to gather specific knowledge, but also to understand it deeply and sublimate it into a meta-knowledge within oneself.
How can we elevate our knowledge to a more meta knowledge?
The process of understanding is divided into the following three elements. These three elements are repeated to deepen understanding.
- crunch
- Combine.
- Output.
Most of the world's knowledge is related and combined.
Combined or related knowledge cannot be entered all at once.
You must first chew it up, turn it into pieces of knowledge, swallow it, and recombine it within yourself.
----------------------------------------
https://gyazo.com/2403873bd00c0f045f93f20cfae24db2
----------------------------------------
crunch
--------
Large pieces of meat cannot be eaten in one bite. It must first be cut into mouth-sized pieces, chewed, and swallowed.
The same is true for understanding. We cannot suddenly learn about difficult concepts, complex systems, or unfamiliar areas.
First of all, you can only take each piece of information into your own mind.
----------------------------------------
https://gyazo.com/494eeeef9c6ded59fc6cb6c721632bd7
Figure: Chew on it
----------------------------------------
But what to take in from the vast amount of information? How do we choose?
In order to determine which information is important, one must have a deep understanding of the field. This is a chicken and egg relationship.
If you know someone who is knowledgeable in this field, one way is to ask him or her to tell you.
However, you do not yet have the power to determine if the person is truly knowledgeable.
There are three strategies that can be used in these situations.
Strategy 1: In order of need
~~~~~~~~~~~~~~~~~
The strategy is to pick up where you need to go to achieve your objectives.
In many cases, it is not necessary to read the entire book or document thoroughly.
If you have a clear objective and know where to read to achieve that objective,
Don't worry about the other pages, just read there.
Do you feel guilty about not reading the whole thing and picking at it?
Yes, then measure how long it takes you to read 10 pages of that sentence,
Estimate how long it will take you to read the whole thing.
There is nothing wrong with setting a goal of "reading the whole thing."
If you can read the whole thing without pain, that's fine too.
The problem is that you don't think about how much it would cost to read the whole thing and,
It is to just kind of think "it's hard to read" and lose interest in reading.
Time and motivation cannot be bought with money.
To use this strategy, you need to have a rough overall idea of where you want to read.
Even if you try to pick up a copy, you often don't know where to read it. That's when the next strategy is.
Strategy 2: Roughly
~~~~~~~~~~~~~~~~~
The strategy is to get a broad overview and then gradually delve into the details.
Paul R. Seely, for example, does not read a book off the top of his head,
We recommend that you first read the table of contents to get a rough idea of what you are looking for.
Also, Mineo Aoki does not start reading source code out of the blue,
We encourage you to look at the directory structure first, and then gradually read through the detailed units.
What is the best strategy for rough reading?
The "read from where you need to be" strategy described in the previous section could not be used because we did not know where to find what we needed to find.
In the "big picture" strategy, you get a rough idea of what is where before you read the details in detail.
The rest of the time, you read carefully only where you need to, and where you think you should read carefully.
Paul R. Seelye even more radically argues that "information is stored unconsciously just by looking at the letters without being able to identify them.
I can neither agree nor disagree with this assertion as it cannot be verified.
However, there is nothing to be gained by buying textbooks and leaving them piled up unread.
Rather than leaving them alone, tell them, "Just flip through it, you don't have to read it,
You might still get more out of it if you look at all the pages at once.
Also, many books tend to repeat important things over and over again,
The content that caught my eye when I looked at it briefly, repeated over and over again,
It is often the most important information in the very book.
On the other hand, the author believes that there are some things that are incompatible with this "kaiyaku yomu" strategy.
It is mathematics. Math, for example, uses what is explained in chapter 1 to compress the explanations in chapter 2,
The content of chapters 1 and 2 is used to compress chapter 3... and so on, and the compression is repeated and condensed.
Therefore, if you read chapter 2 without understanding the contents of chapter 1 and the symbols introduced, it will appear to be nothing more than a list of unintelligible symbols.
It is hard to get into your head by looking at a list of symbols that you don't understand.
The "rough reading strategy" is not a panacea either.
... You too can read books 10 times faster than ever before. Paul R. Seelye (The book that proposed photo-reading)
Strategy 3: From A to Z
~~~~~~~~~~~~~~~~~~~~~
After knowing the two strategies above, you may still be unable to decide where to begin learning.
That's because you don't have a decision to make.
I don't know where to find the information I need for my purpose.
I don't know enough about this field to be able to formulate a clear objective.
In such a situation, it is useless to think about "where to start and how to be efficient.
We don't have the information to determine that.
So, we start by reading it from cover to cover.
A technique known as "sutra copying" is used, especially for programming books.
Regardless of whether you can understand the source code in the textbook or not, you type it in anyway on the keyboard.
The unknown code will appear to be a series of unintelligible symbols.
In this state, even if you think you are reading, you are skimming through it without getting it into your head.
You think you are reading, but you are merely looking.
So, even if you don't know what it means, you can put it in your head once by moving your hands and typing it on the keyboard.
In the process, you may be surprised at how much you can understand.
It takes a lot of strength of mind to keep up this muddy work.
I often feel like I am going to lose heart and give up in the process.
There is no guarantee that 10 hours of sutra copying will result in the understanding of the language being copied.
No matter how hard you try, you may end up knowing nothing. This will not give you a sense of accomplishment.
Therefore, we recommend that you set achievable goals in hours or pages.
For example, "I will now copy sutras without looking away for 30 minutes," or "Today I will write down the formulas in chapter 1, verse 1.
This can be achieved through hard work and a sense of accomplishment.
Understanding should not be the goal. If you don't understand something, that's because you are challenging a target that is difficult to understand.
Rather, rejoice in the fact that you are lucky if you understand something simply by transcribing it.
Combine.
--------
Now, let's say you cut the information about the unknown into bite-sized pieces and swallow them.
How will this information be combined with your original knowledge and understood?
----------------------------------------
https://gyazo.com/946aa4457aa578198df19bcf741696e9
Figure: Combine
----------------------------------------
This is a mystery.
When you swallow the information, you may notice an immediate connection to the knowledge you had.
But after a while, you may find yourself doing something completely unrelated.
It also happens that you go to bed and wake up and somehow you understand.
Understanding apparently takes place outside of consciousness.
It can be done consciously up to the point where the brain is stuffed with material for understanding.
But once you pack it in, you have to wait and leave your luck to the heavens until it combines.
There is no point in rushing.
You can see how setting a goal of "Let's try to understand ◯◯ today" is a bad idea.
No one can estimate how long it will take for understanding to occur.
No matter how hard you try, if you are unlucky, you will not come to an understanding. If your efforts are not rewarded, you will not be motivated.
Do not make understanding your goal. The goal should be something that can be achieved with effort, such as "read Fat today.
Is there any way to streamline the joining of information? Is there no other way but to leave it to luck?
Yes, ultimately we have to leave it to luck. There is no known method that can reliably cause bonding.
However, it is not entirely without room for improvement.
Jiro Kawakita, a cultural anthropologist, studied how information could be combined under consciousness and made more efficient, and proposed the KJ method.
The KJ method involves writing information on cards or sticky notes and spreading them out on a table or other surface so that they can be viewed in a list.
Then, physically collect cards that might be related and add cards that represent that group.
That is, instead of stuffing information into the brain and waiting for the coupling to occur naturally,
The strategy is to visualize information and combine it with a view of the whole.
It must be surprisingly taxing on the brain to try to remember things that should not be forgotten.
Not only the KJ method, but also the strategy of getting the information out of the brain and recording it on paper or some other indelible medium.
It frees the brain from the burden of trying to remember.
Also, in the KJ method, a diagram is created from physically arranged cards, which are then expressed in writing, and then again in a diagram, and the format is repeatedly changed.
In the author's experience, format conversion also encourages merging.
In the process of changing the method of expression, such as turning a figure into a sentence, a sentence into a slide, or Japanese into English,
They observe information from a different perspective, and as a result, they notice things that they had not noticed before.
... Jiro Kawakita, "Idea Method - For Creative Development", Chuko Shinsho, p. 54
Output.
--------
At some point you feel you "get it". Now, is that really the correct understanding?
The realization that you "get it" only means that the knowledge has been connected in your mind.
You cannot judge whether that understanding (connection method) is correct or not.
This is because the ability to judge whether it is correct or not does not yet exist.
Whether your understanding is correct or not can only be measured by your ability to output correctly.
----------------------------------------
https://gyazo.com/b8d6816b7616e795f17ab4c1934eba1a
Figure: Output
----------------------------------------
No matter how much you think you "get it",
Write code based on that understanding and run it,
If the result is not as intended, it is not a correct understanding.
Even if, of course, the results are as intended,
That does not guarantee that the understanding is correct.
It may just be a coincidence.
Through observation of the outputs and their results, we gradually come to a "but likely understanding" of the
We can only refine it.
Output is not limited to creating software. Writing an article for a blog or presenting at a workshop is also output.
Output is the process of taking the knowledge that has been connected in your brain, disconnecting it, and then structuring it again outside of yourself.
Programmers are blessed.
If the computer tells you that you are wrong, it is because you are wrong at a very high rate.
No matter how well you think you understand it, if the output contradicts other facts, then your understanding is wrong.
Also, the output will show you "what you don't know".
You can see where the weak points of your knowledge network are.
By strengthening that, understanding will be more solid.
summary
------
The knowledge is then combined, the combined understanding is output to confirm it, and the knowledge is again combined based on feedback from the outside world.
By repeating these three elements, we can deepen our understanding.
----------------------------------------
https://gyazo.com/c47d814377ac44aeb2f030933cda284b
Figure: Cycle of Understanding
----------------------------------------
I quote again at length from "What is 'understanding'?" by Makoto Nagao, which I quoted at the beginning of this chapter. Understanding a text means that the reader reconstructs the written content in his or her own mind. This is most often done by putting the reconstructed content out into the world in the form of explaining it to others. In the process, the reader may find that he or she did not understand the text, which may require re-reading the original text or asking questions. In other words, the process of dialogue is important. (Nagao, pp. 120-121) In the following chapters, we will provide examples of what actually happens when this concept is applied to learning a programming language.
---
This page is auto-translated from /nishio/知識と資本論とテクノロジストの条件 using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. I'm very happy to spread my thought to non-Japanese readers.